package com.ruoyi.project.system.task.mapper;

import com.ruoyi.project.system.task.domain.Transfer;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TransferMapper {
    /**
     * 根据id删除任务转移
     *
     * @param transferId 任务转移id
     * @return
     */
    int deleteByPrimaryKey(Integer transferId);

    /**
     * 根据转移任务id查询转移任务
     *
     * @param transferId
     * @return
     */
    Transfer selectByPrimaryKey(Integer transferId);

    /**
     * 根据转移id修改转移任务
     *
     * @param transfer
     * @return
     */
    int updateByPrimaryKey(Transfer transfer);

    /**
     * 根据条件查询任务转移
     *
     * @param transfer
     * @return
     */
    List<Transfer> selectTranfList(Transfer transfer);

    /**
     * 添加转移任务
     *
     * @param transfer
     * @return
     */
    int insertTranf(Transfer transfer);

    /**
     * 校验任务id是否存在并且已审核通过
     *
     * @param taskId
     * @return
     */
    Transfer checkTranfTaskIdUnique(Long taskId);

    /**
     * 根据任务转移ids批量删除转移任务
     *
     * @param transferIds
     * @return
     */
    int deleteByTransferIds(String[] transferIds);

    /**
     * 根据id查询继任者姓名
     * @return
     */
    Transfer selectTranfBySuccessor(@Param("successor") Integer successor);
}